// pages/goods_list/index.js
/**
 * 1. 加载更多
 *    1. 监听页面滚动条滚动到底部的事件 页面上拉触底事件的处理函数
 *    2. 判断有没有下一页
 *              total :总条数
 *              pagenum: 1 当前页
 *              pagesize: 10 每页显示多少条
 *          总页数 = 向上取整(total/pagesize);
 *           pagenum > 总页数
 *    3. 如果有下一页, 页码++ 然后获取数据
 *    4. 如果没有 弹出提示框
 *          当前页数  pagenum>总页数 可以停止了 
 * 2.下拉刷新
 *    1.找到下拉刷新触发的事件
 *    2.重置请求参数 pagenum = 1; 重置原始goodsList数据=[];
 *    3.发起请求 获取数据
 *    4.请求完毕数据关闭下拉刷新页面效果
 * 
 */
Page({

  /**
   * 页面的初始数据
   */
  data: {
    goodsList:[],
    tabList: [
      {
        id: 0,
        name: "综合",
        isActive: true
      },
      {
        id: 1,
        name: "销量",
        isActive: false
      },
      {
        id: 2,
        name: "价格",
        isActive: false
      },
    ]
  },
  //总页数
  totalPage: 1,
  //查询条件
  queryInfo: {
    query: "",
    cid: "",
    pagenum: 1,
    pagesize: 10
  },

  onTabsItemChange: function (e) {
    let { activeId } = e.detail;
    let { tabList } = this.data;
    tabList.map(item => item.isActive = item.id === activeId);
    this.setData({
      tabList
    })
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    this.queryInfo.cid = options.cid;
    // console.log("options===>", this.queryInfo,options.cid );
    this.getGoodsList();
  },

  getGoodsList: async function () {
    let { data } = await wx.goodsApi.getGoodsList(this.queryInfo);
    console.log("getGoodsList", data);
    //根据后端返回的总条数  获取总页数
    this.totalPage = Math.ceil(data.message.total/this.queryInfo.pagesize);
    this.setData({
      goodsList: this.data.goodsList.concat(data.message.goods)
    })
    //请求完毕数据关闭下拉刷新页面效果
    wx.stopPullDownRefresh()
  },
  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {
    console.log("页面相关事件处理函数--监听用户下拉动作");
    this.queryInfo.pagenum = 1;
    this.setData({
      goodsList:[]
    })
    this.getGoodsList();
  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {
    //1.判断还有没有下一页  (当前页数是否大于或者等于总页数)
    if(this.queryInfo.pagenum >= this.totalPage){
      // console.log("木有下一页了哟")
      wx.showToast({title: '木有下一页了哟'})
    }else{
      this.queryInfo.pagenum++;
      this.getGoodsList();
    }
  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {

  }
})